1. Field of the Invention
The present invention generally relates to image forming apparatuses and print control methods used therein, and more specifically, to an image forming apparatus capable of executing interruption printing requested through a network and a print control method used therein.
2. Description of the Background
Image forming apparatuses are used as printers, facsimile machines, copiers, and multi-functional devices, for example. Some image forming apparatuses are capable of forming desired images based on print requests transmitted from a plurality of host computers (hereinafter “host” or “hosts”) through a network. Such image forming apparatuses may process the print requests while controlling the printing processes using a given print control method.
For example, one conventional network printer can be shared by a plurality of hosts, which are connected to a network, and may sequentially receive print requests from such hosts via the network. If it takes a relatively long time to process one print request, a subsequent print request cannot be efficiently processed. Hence, when receiving a subsequent print request having a higher priority during execution of one printing process, such a conventional network printer performs interruption printing based on the subsequent print request to reduce user waiting time.
To execute such interruption printing, such a conventional network printer is provided with a sheltering buffer in which to temporarily store print data. When receiving an interruption printing request of second print data while executing a printing process of first print data, such a conventional network printer temporarily stores the first print data in the sheltering buffer. The conventional network printer also stores the second print data in a transmission-and-reception buffer and executes a printing process based on the second print data. After the interruption printing, the conventional network printer reads the first print data from the sheltering buffer and resumes the printing process of the first print data.
However, such a conventional print control method to execute interruption printing has certain disadvantages.
Specifically, when such buffers have a sufficient capacity, all print requests are received and processed. However, when such buffers have a limited capacity, at most only two print requests may be processed, for example. When a subsequent print request is sent from a host during interruption printing, such a conventional network printer cannot secure sufficient free space in the buffers and thus cannot receive or reply to the subsequent print request. Meanwhile, the host cannot obtain information about the status of the network printer.
In particular, in a case of executing a printing process according to a protocol in which bi-directional communication is needed between the host and the printer, when an interruption printing is executed and the buffers become short of free space, the printer cannot receive subsequent print data, interpret commands in the print data, and reply to the host. In such a state, while the buffers in the printer are filled with the preceding print data, the host may be forced to continuously wait for the reply, thereby giving the user of the host a false impression that the printer is stalling.
In this regard, a further description is given with reference to FIGS. 1A and 1B. FIGS. 1A and 1B illustrate cases in which, while executing normal printing in accordance with a first print request transmitted according to a direct print protocol in which the printer does not need to reply to the host, the printer receives a second print request having a higher priority according to a bi-directional print protocol in which the printer needs to reply to the host. In each of FIGS. 1A and 1B, while the printer is executing the interruption printing in response to the second print request having such a higher priority, a third print request is transmitted to the printer according to the bi-directional communication protocol.
In this regard, the priority of printing operations is classified into two levels: a higher priority for the interruption printing and a normal priority for normal printing. FIG. 1A illustrates an operation executed with a sheltering buffer while FIG. 1B illustrates an operation executed with a transmission-and-reception buffer for interruption printing.
In each of FIGS. 1A and 1B, when the interruption printing is not requested, a series of print data are stored in order in a transmission-and-reception buffer for normal printing and are printed in the reception order. When receiving an interruption printing request of second print data while executing a normal printing process of first print data, the printer stores the first print data in the sheltering buffer of FIG. 1A or the transmission-and-reception buffer for interruption printing of FIG. 1B, suspends the normal printing process of the first print data, and executes the interruption printing of the second print data.
In this regard, since such print data includes a parameter indicating its printing priority, a communication interface (I/F) checks the parameter and determines whether or not the interruption printing should be executed.
When a subsequent print request for third print data is transmitted to the printer while executing the interruption printing of the second print data, the printer cannot receive the third print data and therefore cannot interpret a command included in the third print data. When a bi-directional communication protocol as described above is used, the host may be forced to continuously wait for a reply transmitted from the printer.